Integer approximations of DCT (Discrete Cosine Transform) are used in frequency range coding of moving image sequences in which a pure integer arithmetic is required. Use of integer arithmetic prevents divergence between the coder and decoder due to different computation accuracies.
A 4×4 block size integer cosine transform is proposed for the test model of video coding standard H.26L. A concept which is used for transformation of block sizes linked to motion compensation is proposed in [1]. To do so, integer cosine transforms of an 8×8 and 16×16 block size are also necessary, the coefficients being selectable only in a limited range because of the limited numerical range available, e.g., 32 bit. Orthogonal integer cosine transforms of an 8×8 block size have been published in [2], for example.
There are various approaches for approximation of the DCT by an integer cosine transform. A method in which coefficients having different absolute values in DCT are replaced by integers is described in [3] and [4].
A method of approximation of DCT using the Hadamard transform is described in [5]. The DCT may be generated by multiplying the Hadamard transform times an orthogonal conversion matrix. By replacing the real conversion matrix with an orthogonal matrix having integer coefficients, an integer approximation of the DCT is generated.